package com.jzr.bedside.api

import android.graphics.PostProcessor
import com.jzr.bedside.base.Constant
import com.jzr.bedside.bean.*
import com.jzr.bedside.bean.body.AddSatisfyBean
import com.jzr.bedside.bean.body.RecordBody
import com.jzr.bedside.bean.body.TemperatureAddBody
import okhttp3.RequestBody
import retrofit2.http.Body
import retrofit2.http.GET
import retrofit2.http.POST
import retrofit2.http.QueryMap
import rx.Observable


interface ApiService {


    /**
    连接测试
     */
    @GET(Constant.connectTest)
    fun connectTest(): Observable<ConnectTestBean?>?

    /**
    绑定床位号
     */
    @POST(Constant.getBindingBedNo)
    fun getBindingBedNo(@Body record: RecordBody): Observable<BindingBedBean?>?

    /**
    选择床位号
     */
    @GET(Constant.getCheckBedNo)
    fun getCheckBedNo(@QueryMap map: Map<String, String>): Observable<CheckBedListBean?>?


    /**
    选择科室
     */
    @GET(Constant.getCheckDeptNo)
    fun getCheckDeptNo(): Observable<DeptCodeListBean?>?

    /**
    选择房间
     */
    @GET(Constant.getCheckRoomList)
    fun getCheckRoomList(): Observable<DeptCodeListBean?>?

    /**
    获取病人信息
     */
    @GET(Constant.getBedCardInfo)
    fun getBedInfo(@QueryMap map: Map<String, String>): Observable<BedInfoBean?>?

    /**
    获取设备信息
     */
    @GET(Constant.getDeviceInfo)
    fun getDeviceInfo(@QueryMap map: Map<String, String>): Observable<DeviceInfoBean?>?

    /**
    获取多媒体列表
     */
    @GET(Constant.getMediaList)
    fun getMediaList(@QueryMap map: Map<String, String>): Observable<MediaListBean?>?

    /**
    获取满意度列表
     */
    @GET(Constant.getSatisfySurveyList)
    fun getSatisfySurveyList(@QueryMap map: Map<String, String>): Observable<TQuestionBean?>?

    /**
    添加满意度列表
     */
    @POST(Constant.getBedsideSatisfySurveyAdd)
    fun getBedsideSatisfySurveyAdd(@Body map: RequestBody): Observable<TQuestionBean?>?


    /**
    获取最新版本
     */
    @GET(Constant.getLastVersion)
    fun getLastVersion(@QueryMap map: Map<String, String>): Observable<LastVersionBean?>?

    /**
    获取医院简介
     */
    @GET(Constant.getHospitalIntro)
    fun getHospitalIntro(@QueryMap map: Map<String, String>): Observable<HospitalIntroBean?>?

    /**
    获取科室简介
     */
    @GET(Constant.getDeptIntro)
    fun getDeptIntro(@QueryMap map: Map<String, String>): Observable<DeptIntroBean?>?

    /**
    获取费用明细列表
     */
    @GET(Constant.getFeeRecordList)
    fun getFeeRecordList(@QueryMap map: Map<String, String>): Observable<FeeRecordListBean?>?

    /**
    获取检查报告列表
     */
    @GET(Constant.getTestReportList)
    fun getTestReportList(@QueryMap map: Map<String, String>): Observable<TestReportListBean?>?

    /**
    获取检验报告列表
     */
    @GET(Constant.getInspectReportList)
    fun getInspectReportList(@QueryMap map: Map<String, String>): Observable<InspectReportListBean?>?

    /**
    获取医嘱列表
     */
    @GET(Constant.getOrderList)
    fun getOrderList(@QueryMap map: Map<String, String>): Observable<OrderListBean?>?

    /**
    添加温度
     */
    @POST(Constant.getTemperatureAdd)
    fun getTemperatureAdd( @Body list: RequestBody ): Observable<TemperatureBean?>?

    /**
    添加血氧
     */
    @POST(Constant.getOxymeterAdd)
    fun getOxymeterAdd( @Body list: RequestBody ): Observable<TemperatureBean?>?

    /**
    添加血压
     */
    @POST(Constant.getBloodPressAdd)
    fun getBloodPressAdd( @Body list: RequestBody ): Observable<TemperatureBean?>?

    /**
    呼叫
     */
    @POST(Constant.getCall)
    fun getCall( @Body dto: RequestBody ): Observable<TemperatureBean?>?


}


